<template>
  <!--1.在组件中有且仅有一个根标签-->
  <div>
    <!--
      el-table：是elementUi定义的表格标签
        data：表格的数据来源属性，值就是我们在模型层绑定的数据集合
        border：边框的线
        el-table-column：一个此标签就代表一列
          prop：data中数据集合的每条数据中的某个字段，说白了就是对象的字段名称
          label：列头名称
          width：一个字段有多宽，最后一列一定不要加此属性，加了列表非常丑
    -->
    <el-table
      :data="tableData"
      border
      style="width: 100%">
      <el-table-column
        prop="id"
        label="编号"
        width="180">
      </el-table-column>
      <el-table-column
        prop="name"
        label="姓名"
        width="180">
      </el-table-column>
      <el-table-column
        prop="phone"
        label="电话"
        width="180">
      </el-table-column>
      <el-table-column
        prop="email"
        label="邮箱"
        width="180">
      </el-table-column>
      <el-table-column
        prop="createTime"
        label="日期"
        width="180">
      </el-table-column>
      <el-table-column
        prop="address"
        label="地址">
      </el-table-column>
    </el-table>
    <!--el-pagination：elementUI提供的分页组件
          background：带背景色
          layout：布局
          total：分页总条数
          align：位置
    -->
    <el-pagination
      background
      layout="sizes,prev, pager, next"
      :total="total"
      :current-page="currentPage"
      :page-size="pageSize"
      @current-change="goPage"
      :page-sizes="[5, 10, 15, 20]">
    </el-pagination>
  </div>
</template>

<script>

import axios from "axios";
export default {
  name: 'HelloWorld',
  data () {
    return {
      tableData: [],
      currentPage:1,
      pageSize:5,
      total:0
    }
  },
  mounted() {
    this.list();

  },
      methods:{ // 写方法函数,因为绑定了属性改变事件, 一改变就把当前currentPage赋值给data中旧的currentPage
      goPage(currentPage){
        this.currentPage = currentPage;
        this.list();   // 再发送ajax查询新的当前页数据
      },list(){
          axios.post("/user/list",{"currentPage":this.currentPage,"pageSize":this.pageSize})
          .then(result=>{
            // 给模型层表单赋值
            this.tableData=result.data.data;
            // 给模型层中的总条数赋值
            this.total=result.data.totals;
          })
          .catch(error=>{
            console.log(error)
            alert("系统繁忙,稍后再试")
          })
        }
    }
}

</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>

</style>
